package com.ruoyi.system.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.util.Date;
import java.util.Objects;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.system.domain.excel.OrderModelExcel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

/**
* 
* @TableName sys_order_log
*/
@Data
@ApiModel("订单记录列表")
public class SysOrderLog implements Serializable {

    /**
    * 
    */
    @NotNull(message="[]不能为空")
    @ApiModelProperty("订单id")
    @TableId(type = IdType.AUTO)
    private Integer orderId;
    /**
    * 
    */

    @ApiModelProperty("订单编号")
    private String orderCode;
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("买家姓名")
    @Length(max= 255,message="编码长度不能超过255")
    private String orderBuyerName;
    /**
    * 
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("身份证号码")
    @Length(max= 255,message="编码长度不能超过255")
    private String orderBuyerIndo;
    /**
    * 
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("联系电话")
    @Length(max= 255,message="编码长度不能超过255")
    private String orderBuyerTel;
    /**
    * 
    */
    @ApiModelProperty("订单时间")
    private String orderTime;
    /**
    * 
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("购买物品")
    @Length(max= 255,message="编码长度不能超过255")
    private String orderGoods;
    /**
    * 
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("收货人姓名")
    @Length(max= 255,message="编码长度不能超过255")
    private String orderHarverName;
    /**
    * 
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("收货人手机号")
    @Length(max= 255,message="编码长度不能超过255")
    private String orderHarverTel;
    /**
    * 
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("收货地址")
    @Length(max= 255,message="编码长度不能超过255")
    private String orderHarverAddress;
    /**
    * 
    */
    @ApiModelProperty("订单存在状态 默认1 删除后0")
    private Integer orderStatus;
    /**
    * 
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("（弃用）")
    @Length(max= 255,message="编码长度不能超过255")
    private String orderStatusMsg;
    /**
    * 
    */
    @ApiModelProperty("订单新增时间（不必渲染）")
    private Date orderCretime;
    /**
    * 
    */
    @ApiModelProperty("唯一批次号（不必渲染）")
    private Long orderBatchno;
    /**
    * 
    */
    @ApiModelProperty("是否异常（时间异常） 默认0 异常1")
    private Integer isValidtime;
    /**
    * 
    */
    @ApiModelProperty("是否异常（电话异常） 默认0 异常1")
    private Integer isValidtel;
    /**
    * 
    */
    @ApiModelProperty("是否异常（身份证异常） 默认0 异常1")
    private Integer isValididno;


    @ApiModelProperty("数据状态是否正常 正常1 异常0")
    private Integer orderDataStatus;

    @ApiModelProperty("是否重复 默认0 异常1")
    private Integer isRepeat;


    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SysOrderLog that = (SysOrderLog) o;
        return Objects.equals(orderCode, that.getOrderCode());
    }

    @Override
    public int hashCode() {
        return Objects.hash(orderCode);
    }


}
